package pe.gob.sunarp.entidad;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Set;


/**
 * The persistent class for the TM_PERMISO_EXT database table.
 * 
 */
@Entity
@Table(name="TM_PERMISO_EXT")
public class TmPermisoExt implements Serializable {
	private static final long serialVersionUID = 1L;
	private long permisoId;
	private String acl;
	private String estado;
	private String metodo;
	private String nombre;
	private String stringUrl;
	private Set<TmPerfil> tmPerfils;
	private Set<PermisoUsr> permisoUsrs;

    public TmPermisoExt() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="PERMISO_ID", unique=true, nullable=false)
	public long getPermisoId() {
		return this.permisoId;
	}

	public void setPermisoId(long permisoId) {
		this.permisoId = permisoId;
	}


	@Column(nullable=false, length=20)
	public String getAcl() {
		return this.acl;
	}

	public void setAcl(String acl) {
		this.acl = acl;
	}


	@Column(nullable=false, length=1)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}


	@Column(length=40)
	public String getMetodo() {
		return this.metodo;
	}

	public void setMetodo(String metodo) {
		this.metodo = metodo;
	}


	@Column(nullable=false, length=80)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}


	@Column(name="STRING_URL", nullable=false, length=100)
	public String getStringUrl() {
		return this.stringUrl;
	}

	public void setStringUrl(String stringUrl) {
		this.stringUrl = stringUrl;
	}


	//bi-directional many-to-many association to TmPerfil
    @ManyToMany
	@JoinTable(
		name="PERMISO_PERFIL"
		, joinColumns={
			@JoinColumn(name="PERMISO_ID", nullable=false)
			}
		, inverseJoinColumns={
			@JoinColumn(name="PERFIL_ID", nullable=false)
			}
		)
	public Set<TmPerfil> getTmPerfils() {
		return this.tmPerfils;
	}

	public void setTmPerfils(Set<TmPerfil> tmPerfils) {
		this.tmPerfils = tmPerfils;
	}
	

	//bi-directional many-to-one association to PermisoUsr
	@OneToMany(mappedBy="tmPermisoExt")
	public Set<PermisoUsr> getPermisoUsrs() {
		return this.permisoUsrs;
	}

	public void setPermisoUsrs(Set<PermisoUsr> permisoUsrs) {
		this.permisoUsrs = permisoUsrs;
	}
	
}